Electronic device, positioning method, and computer program product

ABSTRACT

According to one embodiment, an electronic device includes a display module, an operation module, a communication module, an obtaining module, and a calculator. The operation module obtains operation on the display screen of the display module. The communication module communicates with another electronic device. The obtaining module obtains trace information indicating a trace of operation moving from the electronic device to the other electronic device or a trace of operation moving from the other electronic device to the electronic device based on operation on the display screen of the electronic device and operation on the display screen of the other electronic device. The calculator calculates a positional relationship between the electronic device and the other electronic device based on the trace information.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority fromJapanese Patent Application No. 2010-284948, filed Dec. 21, 2010, theentire contents of which are incorporated herein by reference.

FIELD

Embodiments described herein relate generally to a electronic device, apositioning method, and a computer program product.

BACKGROUND

Some electronic devices are capable of recognizing the positionalrelationship of a plurality of electronic devices based on thecommunication state. Examples of such electronic devices include mobiletelephones such as smartphones, personal digital assistants (PDAs),personal computers (PCs), and television broadcast receivers. Forexample, such an electronic device measures a distance to an adjacentelectronic device based on the radio electric field strength of wirelesscommunication, the delay time, and the like, and determines the positionof the adjacent electronic device based on the measurement result. Theelectronic device then sets a specific electronic device to a referencecoordinate system and determines the position of each electronic device.

With the conventional technology descried above, in the case of, forexample, wireless communication, high positioning accuracy cannot beexpected due to a multipath issue and the like. Besides, in the case ofinfrared communication, because of the strong directivity, if devicesface each other such that a light emitter and a light receiver come faceto face with each other, the positional relationship can be defined. Onthe other hand, if the light emitter and the light receiver are not in aface-to-face position, or there is an obstacle between the devices, itis not easy to determine the accurate positional relationship.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

A general architecture that implements the various features of theinvention will now be described with reference to the drawings. Thedrawings and the associated descriptions are provided to illustrateembodiments of the invention and not to limit the scope of theinvention.

FIG. 1 is an exemplary conceptual diagram illustrating communicationamong a plurality of electronic devices according to an embodiment;

FIG. 2 is an exemplary block diagram of an electronic device in theembodiment;

FIG. 3 is an exemplary functional block diagram of a central processingunit (CPU) in the embodiment;

FIG. 4 is an exemplary flowchart of the operation of the electronicdevice in the embodiment;

FIG. 5 is an exemplary conceptual diagram for explaining positioningamong three electronic devices in the embodiment;

FIG. 6 is another exemplary conceptual diagram for explainingpositioning among three electronic devices in the embodiment;

FIG. 7 is still another an exemplary conceptual diagram for explainingpositioning among three electronic devices in the embodiment; and

FIG. 8 is still another exemplary conceptual diagram for explainingpositioning among three electronic devices in the embodiment.

DETAILED DESCRIPTION

In general, according to one embodiment, an electronic device comprisesa display module, an operation module, a communication module, anobtaining module, and a calculator. The operation module is configuredto obtain operation on the display screen of the display module. Thecommunication module is configured to communicate with anotherelectronic device. The obtaining module is configured to obtain traceinformation indicating a trace of operation moving from the electronicdevice to the other electronic device or a trace of operation movingfrom the other electronic device to the electronic device based onoperation on the display screen of the electronic device and operationon the display screen of the other electronic device. The calculator isconfigured to calculate a positional relationship between the electronicdevice and the other electronic device based on the trace information.

Exemplary embodiments will be described in detail below with referenceto the accompanying drawings. The electronic device of the embodimentsmay be, for example, a mobile telephone such as smartphone, a personaldigital assistant (PDA), a personal computer (PC), or a televisionbroadcast receiver. A tablet electronic device will be described by wayof example that is provided with a touch sensor layered on top of thedisplay screen such as a liquid crystal display (LCD) to receiveoperation input.

FIG. 1 is a conceptual diagram illustrating communication among aplurality of electronic devices 1 according to an embodiment. Asillustrated in FIG. 1, each of the electronic devices 1 comprises adisplay module 2 such as LCD and a touch sensor 3 layered on top of thedisplay screen of the display module 2 to receive operation with astylus pen 4 or the like. In the electronic devices 1, the touch sensor3 receives a touch by the user on the display screen of the displaymodule 2. For example, if the user touches the display screen of thedisplay module 2 with the stylus pen 4, the touch sensor 3 detects thetouch point, and receives operation input corresponding to the touchpoint. If the user moves the touch point while touching the displayscreen of the display module 2 with the stylus pen 4, the touch sensor 3receives operation input corresponding to the shift of the touch point.

The electronic device 1 has the function of communicating the otherelectronic devices 1 via a wireless base station 5. The electronicdevice 1 may communicate with the wireless base station 5 via, forexample, a wireless local area network (LAN). The electronic device 1may communicate with the other electronic devices 1 in peer-to-peerfashion without involving the wireless base station 5 in ad-hoc mode.While the electronic device 1 will be described herein as performingwireless communication via a wireless LAN or the like, this is by way ofexample only. The electronic device 1 may of course perform wiredcommunication.

FIG. 2 illustrates an example of a configuration of the electronicdevice 1 of the embodiment. As illustrated in FIG. 2, the electronicdevice 1 comprises, in addition to the display module 2 and the touchsensor 3 described above, a central processing unit (CPU) 10, a readonly memory (ROM) 11, a random access memory (RAM) 12, a storage module13, a timer 14, a gyrosensor 15, and a communication interface (I/F) 16.

The CPU 10 controls the overall operation of the electronic device 1.The CPU 10 loads programs stored in the ROM 11 or the storage module 13into the work area of the RAM 12 and sequentially executes the programs,thereby outputting a control signal to each of modules of the electronicdevice 1 connected via a bus line. The ROM 11 stores various programsand setting data. The RAM 12 provides the work area to the CPU 10. Thestorage module 13 may be a large capacity storage device such as a harddisk drive (HDD), a solid state drive (SSD), or the like. The storagemodule 13 stores application programs to be executed by the CPU 10 andvarious types of data including letters, characters, moving images,still images, and audio in a readable/writable manner. The timer 14 hasthe real-time clock function and the time synchronization function via anetwork. The timer 14 counts the time as well as synchronizing the timeat time S1. The CPU 10 is notified of the time synchronized and countedby the timer 14.

The gyrosensor (gyroscope) 15 is a MEMS vibratory acceleration sensor.The gyrosensor 15 senses the orientation or movement of the electronicdevice 1 on three axes including X (pitch), Y (roll), and Z (yaw), andoutputs the detection result to the CPU 10. Under the control of the CPU10, the communication I/F 16 performs wired or wireless communicationaccording to a predetermined communication protocol. For example, underthe control of the CPU 10, the communication I/F 16 performs wirelessLAN communication via the wireless base station 5.

Described below are functional modules that are implemented by programssequentially executed by the CPU 10. FIG. 3 is a functional blockdiagram of the CPU 10. As illustrated in FIG. 3, by sequentiallyexecuting the programs, the CPU 10 implements a communication module100, a positioning module 110, a screen information obtaining module120, and a screen position detector 130.

The communication module 100 communicates with the other electronicdevices 1 via the communication I/F 16 according to a predeterminedcommunication protocol. In the embodiment, the communication module 100communicates with the other electronic devices 1 based on a standardsuch as IEEE 802.11 wireless LAN standard.

The positioning module 110 comprises an ID management module 111, a timemanagement module 112, a positional relationship calculator 113, and atrace information storage module 114. The positioning module 110determines the positional relationship of the electronic devices 1 thatcommunicate one another via the communication I/F 16 based on operationrelated to positioning (details will be described later). The term“positional relationship” as used herein refers to the direction,distance, and orientation of a device with respect to another device asa reference. For example, the positional relationship between thereference electronic device 1 and the other electronic device 1 mayindicate the direction of the other electronic device 1 with respect tothe reference electronic device 1, the distance to the referenceelectronic device 1, and the orientation of the other electronic device1.

The ID management module 111 manages identification information (ID)with respect to each of the other electronic devices 1 that theelectronic device 1 communicates with via the communication I/F 16. Theidentification information may be any information that is uniquelyassigned to each device and identifies the device such as device name,communication address, and the like. Examples of the identificationinformation include a media access control (MAC) address forcommunication via the communication I/F 16. If the identificationinformation is device name, the ID management module 111 manages theassociation between a device name and the communication address of thedevice identified by the device name. Meanwhile, if the identificationinformation is communication address, the ID management module 111manages a list of communication addresses of the electronic devices 1.Accordingly, when the electronic device 1 communicates with the otherelectronic device 1 via the communication I/F 16, the other electronicdevice 1 can be specified by referring to the identification informationmanaged by the ID management module 111.

The time management module 112 manages the time at which operationrelated to positioning is performed. More specifically, the timemanagement module 112 obtains the start time at which operation relatedto positioning starts and the end time at which the operation ends fromthe timer 14, and temporarily stores the start time and the end time inthe RAM 12 or the like.

The positional relationship calculator 113 calculates the positionalrelationship of the electronic devices 1 based on trace informationstored in the trace information storage module 114 as a trace ofoperation related to positioning among the electronic devices 1. Detailsof the positional relationship calculator 113 and the trace informationstorage module 114 will be described later with reference to FIGS. 4 to8.

The screen information obtaining module 120 obtains operation on thedisplay screen of the electronic device 1 and also operation on thedisplay screen of the other electronic devices 1. More specifically, thescreen information obtaining module 120 obtains operation on the displayscreen of the electronic device 1 based on the output of the touchsensor 3. Further, the screen information obtaining module 120 receivesthe output of the touch sensor 3 of the other electronic devices 1through communication via the communication I/F 16 and thereby obtainsoperation on the display screen of the other electronic devices 1.

The screen position detector 130 detects the orientation of theelectronic device 1 (the position of the display module 2) and theorientation of the other electronic devices 1. More specifically, thescreen position detector 130 detects the orientation of the electronicdevice 1 based on the output of the gyrosensor 15. Further, the screenposition detector 130 receives the output of the gyrosensor 15 of theother electronic devices 1 through communication via the communicationI/F 16 and thereby detects the orientation of the other electronicdevices 1.

A detailed description will be given of the operation of the electronicdevice 1 configured as above upon positioning the electronic devices 1that communicate with one another via the wireless base station 5.Examples of the positioning of the electronic device 1 includepositioning of smartphones of meeting attendants upon a meeting in ameeting room, the positioning of a plurality of television broadcastreceivers installed in a room, and the like. In the following, for thesimplicity of the description, the ad-hoc positioning of the threeelectronic devices 1 of users will be exemplified (see FIGS. 5 to 8). Itis assumed herein that the three electronic devices 1 are placed on atable or the like and do not change in the orientation during thepositioning. It is also assumed herein that one user performs operationrelated to positioning by sequentially operating the three electronicdevices 1.

FIG. 4 is a flowchart of an example of the operation of the electronicdevice according to the embodiment. As illustrated in FIG. 4, when theprocess starts in response to operation related to positioning amongdevices or the like, the communication module 100 starts communicatingwith the other electronic devices 1 via the wireless base station 5(S1). The communication module 100 then obtains identificationinformation (device ID) of the other electronic devices 1 communicationwith which starts at S1 (S2). In the embodiment, for example, devicename is obtained as the identification information. The ID managementmodule 111 manages the obtained device name together with the MACaddress and the like.

FIGS. 5 to 8 are conceptual diagrams for explaining the positioningamong the three electronic devices 1. As illustrated in FIGS. 5 to 8,the three electronic devices 1 of users U1 to U3 perform the process asillustrated in FIG. 4 in response to operation for positioning amongdevices. By the process at S1 and S2, as illustrated in FIG. 5, thethree electronic devices 1 each obtain the identification information ofthe electronic device 1 of the user U1 “Terminal_C”, the identificationinformation of the electronic device 1 of the user U2 “Terminal_B”, andthe identification information of the electronic device 1 of the user U3“Terminal_A”. The ID management module 111 manages the identificationinformation.

After that, the CPU 10 displays a mark image G1 as a reference ofoperation related to positioning at a predetermined position on thedisplay screen of the display module 2 (S3). As illustrated in FIG. 5,the mark image G1 is displayed near the center of the display screen ofthe display module 2.

The operation related to positioning will be described in detail below.The operation related to positioning refers to operation by one of theusers U1 to U3 moving from the mark image G1 as an origin (start point),sequentially passing through the other mark images G1, and returning tothe mark image G1 as an origin.

More specifically, as illustrated in FIG. 6, a user performs operationOP1 in which he/she slides the mark image G1 as an origin displayed onthe electronic device 1 identified as “Terminal_C” to an edge of thedisplay screen in the direction of the electronic device 1 “Terminal_B”while touching the mark image G1. It is assumed herein that theoperation OP1 starts at time t0 and ends at time t1.

Subsequently, the user who performs the operation OP1 moves to theelectronic device 1 “Terminal_B” to perform operation OP2 in whichhe/she touches an edge of the display screen in the direction of the“Terminal_C” and slides the touch point to the mark image G1. It isassumed herein that the operation OP2 starts at time t2 and ends at timet3. For the electronic device 1 “Terminal_C”, the operations OP1 and OP2are to move to the other electronic device 1 therefrom. On the otherhand, for the electronic device 1 “Terminal_B”, the operations OP1 andOP2 are to move from the other electronic device 1 thereto. The slidedirections and a period from the time t0 to t3 in the operations OP1 andOP2 are the trace information indicating a trace of the operations.

Next, as illustrated in FIG. 7, the user who performs the operation OP2performs operation OP3 in which he/she slides the mark image G1displayed on the “Terminal_B” to an edge of the display screen in thedirection of the electronic device 1 “Terminal_A” while touching themark image G1. It is assumed herein that the operation OP3 starts at thetime t3 and ends at time t4. Thereafter, the user who performs theoperation OP3 moves to the electronic device 1 “Terminal_A” to performoperation OP4 in which he/she touches an edge of the display screen inthe direction of the “Terminal_B” and slides the touch point to the markimage G1. It is assumed herein that the operation OP4 starts at time t5and ends at time t6. For the electronic device 1 “Terminal_C”, theoperations OP3 and OP4 are to move from the first other electronicdevice 1 to the second other electronic device 1. The slide directionsand a period from the time t3 to t6 in the operations OP3 and OP4 arethe trace information indicating a trace of the operations.

After that, as illustrated in FIG. 8, the user who performs theoperation OP4 performs operation OP5 in which he/she slides the markimage G1 displayed on the “Terminal_A” to an edge of the display screenin the direction of the electronic device 1 “Terminal_C” while touchingthe mark image G1. It is assumed herein that the operation OP5 starts atthe time t6 and ends at time t7. Thereafter, the user who performs theoperation OP5 moves to the electronic device 1 “Terminal_C” to performoperation OP6 in which he/she touches an edge of the display screen inthe direction of the “Terminal_A” and slides the touch point to the markimage G1. It is assumed herein that the operation OP6 starts at time t8and ends at time t9. The slide directions and a period from the time t6to t9 in the operations OP5 and OP6 are the trace information indicatinga trace of the operations. The above operations OP1 to OP6 are theoperation moving from the mark image G1 as an origin, sequentiallypassing through the other mark images G1, and returning to the markimage G1 as an origin.

Referring back to FIG. 4, after S3, the screen information obtainingmodule 120 determines whether touch operation is performed on thedisplay screen of the display module 2 based on the output of the touchsensor 3 (S4). If no touch operation is performed (No at S4), the CPU 10moves the process to S8. On the other hand, if touch operation isperformed (Yes at S4), i.e., the operation of sliding the mark image G1to an edge of the display screen in the direction of the otherelectronic device 1 while touching the mark image G1 (the operation OP1,OP3, OP5), or the operation of touching an edge of the display screenand sliding the touch point to the mark image G1 (the operation OP2,OP4, OP6) is performed, the screen information obtaining module 120obtains a trace of the operation (slide direction and time) based on theoutput of the touch sensor 3 (S5).

The trace information storage module 114 stores the trace of theoperation and the operation time (the start time and the end time) inthe PAM 12 or the like as trace information together with identificationinformation that identifies the device on which the operation isperformed (S6). The communication module 100 broadcasts the obtainedtrace of the operation to the other electronic devices 1 (S7), and theprocess moves to S8. By this broadcast, for example, the trace of theoperation OP1 as illustrated in FIG. 7 is shared among the electronicdevice 1 “Terminal_C” and the other electronic devices 1.

The CPU 10 determines whether there is a broadcast from the otherelectronic device 1 based on communication in the communication module100 (S8). If there is no broadcast from the other electronic device 1(No at S8), the CPU 10 moves the process to S10. On the other hand, ifthere is a broadcast from the other electronic device 1 (Yes at S8),i.e., if touch operation is performed on the other electronic device 1,the screen information obtaining module 120 obtains a trace of theoperation (slide direction and time) on the other electronic device 1broadcasted therefrom via the communication module 100. The traceinformation storage module 114 stores the obtained trace of theoperation on the other electronic device 1 and the operation time (thestart time and the end time) in the PAM 12 or the like as traceinformation together with identification information that identifies thedevice on which the operation is performed (S9).

The CPU 10 determines whether the operation returns to the mark image G1as an origin (start point) based on the trace information stored in thetrace information storage module 114 and the identification informationmanaged by the ID management module 111 (S10). More specifically, atS10, the CPU 10 determines whether the identification information of theelectronic device 1 from which the trace information is obtained firstmatches the identification information of the electronic device 1 fromwhich the trace information is obtained last. If the operation does notreturn to the mark image G1 as an origin (No at S10), the CPU 10 returnsthe process to S4 to detect touch operation on the electronic device 1or the other electronic devices 1.

On the other hand, if the operation returns to the mark image G1 as anorigin (Yes at S10), the trace information storage module 114 sorts thetraces of the operations stored therein in chronological order (S11). Bythis sort at S11, the traces of the operations OP1 to OP6 are sorted inthe order in which they are actually performed. With this, for example,the electronic device 1 “Terminal_C” can obtain the traces of theoperations OP1 and OP2 to move to the other electronic device 1therefrom. The same applies to the traces of the operations between theother electronic devices 1.

The positional relationship calculator 113 calculates the positionalrelationship of the electronic devices 1 based on the traces of theoperations between the electronic devices 1 obtained by the sort at S11(S12). For example, in the electronic device 1 “Terminal_C”, thepositional relationship calculator 113 calculates the positionalrelationship with the electronic devices 1 “Terminal_B” based on thetraces of the operations OP1 and OP2. More specifically, in theelectronic device 1 “Terminal_C”, since the direction indicated by theoperation OP1 corresponds to the direction of the “Terminal_B” indicatedby the user, the direction is determined to be the direction of the“Terminal_B” with respect to the “Terminal_C”. Besides, the directionindicated by the operation OP2 following the operation OP1 indicates thedirection in which the “Terminal_B” faces with respect to the“Terminal_C”. Thus, the direction indicated by the operation OP2 isdetermined to be the direction in which the “Terminal_B” faces withrespect to the “Terminal_C”.

The period from the start time (t1) of the operation OP1 to the end time(t3) of the operation OP2 is occupied mostly by the time taken by theuser to move, and is in proportion to the distance between the“Terminal_C” and the “Terminal_B”. Accordingly, the positionalrelationship calculator 113 calculates the distance between the“Terminal_C” and the “Terminal_B” by multiplying the period from thestart time (t1) of the operation OP1 to the end time (t3) of theoperation OP2 by a predetermined coefficient.

In the same manner, the positional relationship calculator 113calculates the positional relationship between the “Terminal_B” and the“Terminal_A” based on the operations OP3 and OP4, and the positionalrelationship between the “Terminal_A” and the “Terminal_C” based on theoperations OP5 and OP6. The positional relationship may be calculated byusing cosine theorem or the like. More specifically, regarding atriangle formed by the mark images G1 as apices illustrated in FIG. 8,the length (distance) of a side of the triangle can be calculated fromthe lengths (distances) of two sides of the triangle and an interiorangle (angle formed by operational directions) of the triangle.

While the case of the three electronic devices 1 is described in theembodiment, if there are four or more of the electronic devices 1, thepositional relationship among the electronic devices 1 can be calculatedby using cosine theorem. More specifically, the angle and the distancebetween an adjacent pair of the electronic devices 1 are calculated inthe same manner as in the case of the three electronic devices 1. Anangle to move from the electronic device 1 to the other electronicdevice 1 next to the adjacent electronic device 1 can be calculated byusing cosine theorem from information on the distance (lengths of twosides) to the other electronic device 1 via the adjacent electronicdevice 1 and information on the interior angle. The distance can also becalculated by using cosine theorem. In this manner, the positionalrelationship between the non-adjacent electronic devices 1 is calculatedby using cosine theorem. With this, the positional relationship amongall the electronic devices 1 can be calculated.

The screen position detector 130 determines whether there is a change inthe orientation of the electronic device 1 (the position of the displayscreen of the display module 2) and the orientation of the otherelectronic devices 1 (S13). The orientation of the electronic device 1sometimes changes as user holds it differently. If there is a change inthe orientation of the electronic device 1 and the other electronicdevices 1 (Yes at S13), the screen position detector 130 obtains thechange amount (angle having changed on the on three axes XYZ) from theoutput of the gyrosensor 15 and communication via the communication I/F16 (S14). Then, the process returns to S12. At S12, the positionalrelationship among the electronic devices 1 calculated at S12 iscorrected based on the change amount obtained at S14. With thiscorrection, it is possible to handle a change in the orientation of theelectronic device 1 after the calculation of the positionalrelationship.

More specifically, in FIG. 8, if the orientation of the electronicdevice 1 “Terminal_C” changes from vertical to horizontal orientation,in the electronic device 1 “Terminal_C”, the direction of the electronicdevice 1 “Terminal_B” with respect to the “Terminal_C” is corrected tocorrespond to the horizontal orientation. On the other hand, in theelectronic device 1 “Terminal_B”, the direction in which the“Terminal_C” faces with respect to the “Terminal_B” is corrected tocorrespond to the horizontal orientation.

If there is no change in the orientation of the electronic device 1 andthe other electronic devices 1 (No at S13), the CPU 10 determineswhether the positional relationship is to be dissolved based onoperation input to instruct to dissolve the positional relationshipcalculated at S12 or the like (S15). If the positional relationship isnot to be dissolved (No at S15), the CPU 10 returns the process to S13to continue the process. On the other hand, If the positionalrelationship is to be dissolved (Yes at S15), the communication module100 finishes communicating with the other electronic devices 1 via thewireless base station 5 (S16). Then, the process ends.

As described above, according to the embodiment, the electronic device 1comprises the screen information obtaining module 120 and the positionalrelationship calculator 113. The screen information obtaining module 120obtains trace information indicating a trace of operation moving fromthe electronic device 1 (for example, “Terminal_C”) to the otherelectronic device 1 (for example, “Terminal_B”) based on operation (theoperation OP1) on the display screen of the electronic device 1 andoperation (the operation OP2) on the display screen of the otherelectronic device 1. The positional relationship calculator 113calculates the positional relationship between the electronic device 1and the other electronic device 1 based on the obtained traceinformation. Further, the screen information obtaining module 120obtains trace information indicating a trace of operation moving fromthe other electronic device 1 (for example, “Terminal_A”) to theelectronic device 1 (for example, “Terminal_C”) based on operation (theoperation OP6) on the display screen of the electronic device 1 (forexample, “Terminal_C”) and operation (the operation OP5) on the displayscreen of the other electronic device 1 (for example, “Terminal_A”). Thepositional relationship calculator 113 calculates the positionalrelationship between the electronic device 1 and the other electronicdevice 1 based on the obtained trace information. Thus, the electronicdevice 1 can easily recognize the accurate positional relationship withthe other electronic devices 1.

Besides, the screen information obtaining module 120 obtains traceinformation indicating a trace of operation moving from the first otherelectronic device 1 (for example, “Terminal_B”) to the second otherelectronic device 1 (for example, “Terminal_A”). The positionalrelationship calculator 113 calculates the positional relationship amongthe electronic devices 1 based on the obtained trace information. Thus,it is possible to determine the positional relationship of a pluralityof electronic devices.

A computer program may be executed on a computer to realize the samefunction as the electronic device 1. The computer program may beprovided as being stored in advance in ROM or the like. The computerprogram may also be provided as being stored in a computer-readablestorage medium, such as a compact disc-read only memory (CD-ROM), aflexible disk (FD), a compact disc recordable (CD-R), and a digitalversatile disc (DVD), as a file in an installable or executable format.

The computer program may also be stored in a computer connected via anetwork such as the Internet so that it can be downloaded therefrom viathe network. Further, the computer program may be provided ordistributed via a network such as the Internet.

The computer program comprises modules that implement the elementsdescribed above. As real hardware, the CPU (processor) loads thecomputer program from the ROM into the main memory and executes it. Withthis, the above elements are implemented on the main memory.

While the orientation of the electronic device 1 is described above asbeing detected by a gyrosensor, it is not so limited. A change in theorientation of the electronic device 1 with respect to a referenceorientation may be detected by an orientation sensor. Operation on thedisplay screen of the electronic device 1 is not limited by theconfiguration of the touch sensor 3. Operation may be provided by movinga pointer or a cursor with a mouse, a trackpad, a cursor key, and thelike.

The various modules of the systems described herein can be implementedas software applications, hardware and/or software modules, orcomponents on one or more computers, such as servers. While the variousmodules are illustrated separately, they may share some or all of thesame underlying logic or code.

While certain embodiments have been described, these embodiments havebeen presented by way of example only, and are not intended to limit thescope of the inventions. Indeed, the novel embodiments described hereinmay be embodied in a variety of other forms; furthermore, variousomissions, substitutions and changes in the form of the embodimentsdescribed herein may be made without departing from the spirit of theinventions. The accompanying claims and their equivalents are intendedto cover such forms or modifications as would fall within the scope andspirit of the inventions.

1. An electronic device comprising: a display module; an operationmodule configured to obtain operation on a display screen of the displaymodule; a communication module configured to communicate with anotherelectronic device; an obtaining module configured to obtain traceinformation indicating a trace of operation moving from the electronicdevice to the other electronic device or a trace of operation movingfrom the other electronic device to the electronic device based onoperation on the display screen of the electronic device and operationon a display screen of the other electronic device; and a calculatorconfigured to calculate a positional relationship between the electronicdevice and the other electronic device based on the trace information.2. The electronic device of claim 1, wherein the obtaining module isconfigured to obtain a trace of operation in a direction from theelectronic device toward the other electronic device on the displayscreen of the display module from the operation module and to obtain atrace of operation on the display screen of the other electronic devicethrough communication with the other electronic device to obtain thetrace information indicating the trace of the operation moving from theelectronic device to the other electronic device.
 3. The electronicdevice of claim 1, wherein the obtaining module is configured to obtaina trace of operation on the display screen of the other electronicdevice through communication with the other electronic device and toobtain a trace of operation in a direction from the other electronicdevice toward the electronic device on the display screen of the displaymodule from the operation module to obtain the trace informationindicating the trace of the operation moving from the other electronicdevice to the electronic device.
 4. The electronic device of claim 1,wherein the other electronic device includes a first other electronicdevice and a second other electronic device, the obtaining module isconfigured to obtain trace information indicating a trace of operationmoving from the first other electronic device to the second otherelectronic device through communication with the other electronicdevice, and the calculator is configured to calculate a positionalrelationship between the first other electronic device and the secondother electronic device based on the trace information obtained throughthe communication.
 5. The electronic device of claim 4, furthercomprising an identification information management module configured tomanage identification information with respect to each of a plurality ofelectronic devices, wherein the obtaining module is configured to obtaintrace information indicating a trace of operation moving from one of theelectronic devices as an origin, passing through another electronicdevice, and returning to the origin, and the calculator is configured tocalculate a positional relationship among the electronic devices basedon the trace information.
 6. The electronic device of claim 1, furthercomprising a time management module configured to manage start time andend time of the trace of the operation, wherein the calculator isconfigured to calculate the positional relationship based on the starttime and the end time managed by the time management module.
 7. Theelectronic device of claim 1, further comprising an orientation detectorconfigured to detect orientation of the electronic device and the otherelectronic device, wherein the calculator is configured to calculate thepositional relationship based on a change in the orientation of theelectronic device and the other electronic device.
 8. A positioningmethod applied to an electronic device comprising a display module, anoperation module configured to obtain operation on a display screen ofthe display module, a communication module configured to communicatewith another electronic device, an obtaining module, and a calculator,the positioning method comprising: obtaining, by the obtaining module,trace information indicating a trace of operation moving from theelectronic device to the other electronic device or a trace of operationmoving from the other electronic device to the electronic device basedon operation on the display screen of the electronic device andoperation on a display screen of the other electronic device; andcalculating, by the calculator, a positional relationship between theelectronic device and the other electronic device based on the traceinformation.
 9. A computer program product applied to an electronicdevice comprising a display module, an operation module configured toobtain operation on a display screen of the display module, acommunication module configured to communicate with another electronicdevice, an obtaining module, and a calculator, the computer programproduct embodied on a non-transitory computer-readable storage mediumand comprising code that, when executed, causes a computer to perform:obtaining, as the obtaining module, trace information indicating a traceof operation moving from the electronic device to the other electronicdevice or a trace of operation moving from the other electronic deviceto the electronic device based on operation on the display screen of theelectronic device and operation on a display screen of the otherelectronic device; and calculating, as the calculator, a positionalrelationship between the electronic device and the other electronicdevice based on the trace information.